<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>02_Dayjs-手写简版</title>
</head>
<body>

  <script>
    ;(function(g) {
      // browser -> window 全局对象
      // node -> global 全局对象
      // globalThis -> ES11
      g = typeof globalThis !== 'undefined' ? globalThis : g || self

      // 构造函数
      function Dayjs() {
        const date = new Date()
        this.$Y = date.getFullYear()
        this.$M = date.getMonth()
        this.$D = date.getDate()
      }

      // 原型方法
      Dayjs.prototype.format = function() {
        return `${this.$Y}-${this.$M}-${this.$D}`
      }

      // 工厂函数
      function dayjs() {
        return new Dayjs()
      }

      dayjs.prototype = Dayjs.prototype

      // 统一导出
      g.dayjs = dayjs

    })(this)

  </script>

  <script>
    console.log('%O', dayjs);
    console.log("%O", dayjs()) // 创建 Dayjs 对象
    console.log(dayjs().format()) // 拿到当前的时间

  </script>
  
</body>
</html>